Oracle 12c中SQLPlus操作使用(包含实验二ORACLE SQL*PLUS环境与查询的详细操作解释) | 您所在的位置:网站首页 › oracle sqlplus连接数据库 › Oracle 12c中SQLPlus操作使用(包含实验二ORACLE SQL*PLUS环境与查询的详细操作解释) |
(1)SQL*Plus的启动 继续上述实例 9 的步骤操作 进入sqlplus环境:sqlplus 输入用户名:C##suke 输入口令:suke123 (2)断开数据库连接与重新连接数据库 断开数据库连接:DISCONECT 重新连接数据库:conn 用户名/口令:conn C##suke/suke123 (3)退出SQL*Plus:exit (4)查看当前用户名 show user; select user from dual; (5)查询表job表结构:desc job; (6) 查询表job表中的数据 select * from job; select id,code,name from job where id < 2; (7)列出缓冲区的内容:LIST (8)change 修正错误 查询命令时候误将code打错成cose:select id,cose,name from job; 补充:第几行出现错误,出入错误行的数字,就可以单独显示出错误行代码。 使用change修正错误代码:change /cose/code; 重新运行:run (10)input 添加一行查询条件 查询信息:SQL> select id,code,name from job; 突然想排序操作,又不想重新输入全部命令,使用input添加以id列的排序条件: SQL> input 2 order by id; (11)append 给上一行结尾添加查询条件 继步骤(10)看完正序后,由于强迫症想看倒叙怎么办? 首先列出缓冲区的内容:list 给上一行结尾添加查询条件:append desc 注意:append desc 中间是两个空格,如果你只留一个空格,如下图错误显示 重新运行:run (12)del 删除最后一行查询条件 继步骤(11)看完倒叙后,由于脑子有病,就想看原始数据怎么办? 首先列出缓冲区的内容:list 删除上一行查询条件:del 重新运行:run (13) 显示job表中所有的信息:select * from job; (14)算术运算符的使用 使id+2*3显示:select id+2*3,code,name from job; (15)连字符的使用 将单位编号和单位名字连接起来:select code || name codename from job; 将单位编号和单位名字中间用 ‘-’ 连接起来,并输出 ‘WORKS IN DEPARTMENT’: select id,code||'-'||name codename,'work in department' from job; (16)DISTINCT子句消除重复由于我们这里的数据本身没有重复值,所以我们需要再添加一些重复数据: INSERT ALL INTO job(id,code,name) VALUES(1,'NO2','前端') INTO job(id,code,name) VALUES(2,'NO2','后端') INTO job(id,code,name) VALUES(3,'NO3','物联网') SELECT 1 FROM dual; 如果列举出job表中所有单位id序号:select id from job; 从上表中可以看出单位id序号之间存在重复,可以用DISTINCT子句来消除重复的: select distinct id from job; (17)排序(默认正序) 按单个字段 id 排序:select * from job order by id; 按多个字段排序:如按单位序号id升序,按单位名字name降序排序: 方法一:回顾知识点 list 和 append 用法 方法二:select * from job order by id,name desc; (19)带条件的查询查询单位序号 id 是 2 的所有单位序号、单位编号、单位名字信息: SQL> select * from job where id = 2; 从 job 表中查询单位序号大于1的单位名字: SQL> select id,name from job where id > 1; 复合条件查询:查询单位序号大于 1 并且单位编号是'NO3',或者单位名字是'前端'的所有单位信息:SQL> select * from job where id > 1 and code = 'NO3' or name = '前端'; (20)操作符的应用 BETWEEN 的应用:查询单位序号 id 在 2 到 3 之间的所有单位信息: SQL> select * from job where id between 2 and 3; IN 的应用:查询单位编号code有 'NO2','NO3' 二个之一的所有单位信息: SQL> select * from job where code in ('NO2','NO3'); LIKE 的应用: 查询名字以 '运' 字开始的所有单位信息:SQL> select * from job where name like '运%'; 查询名字只有三个字符的所有单位信息:SQL> select * from job where name like '___';
IS NULL的应用:查询没有单位名字 name 的所有单位信息: 先添加没有单位名字的信息:SQL> INSERT INTO job(id,code) VALUES(1,'NO1'); 查询没有单位名字 name 的所有单位信息:SQL> select * from job where name is null; (21)单&号替代变量 数字变量输入: SQL> select * from job where &job_id; 输入 job_id 的值: id = 2 字符串变量输入: SQL> select id*10,code,name from job where code = '&job_code'; 输入 job_code 的值: NO3
TO_NUMBER 字符串数据转换为数字:SQL> select to_number('33') from dual; TO_CHAR 数字数据转换为字符串:SQL> select to_char(2) from job; TO_CHAR 字符串数据转换为日期数据: SQL> select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual;
TO_DATE 字符串数据转换为日期数据: SQL> select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual; (23)分组函数的应用 求平均值:SQL> select avg(id) from job; 求最小值:SQL> select min(id) from job where code = 'NO3';
求数目:SQL> select count(*) from job where id = 2; 注意:由于我这job单位表不适合下列查询,所以拿别人的图来展示 GROUP BY子句:求每个部门中的平均工资: HAVING子句:查询人数超过3人的部门中的平均工资: (24)连接 再次注意:我这job单位表同样不适合下列查询,再次拿别人的图来展示 从EMP和DEPT中查询出职工名字、工作和部门名称: (25)子查询的应用 再次注意:我这job单位表同样不适合下列查询,再次拿别人的图来展示 从EMP中查询出工资最低的职工: 从EMP中查询出每个部门工资最低的职工:
|
CopyRight 2018-2019 实验室设备网 版权所有 |